package com.thenie.mapper;

import com.thenie.pojo.Employee;
import com.thenie.vo.EmployeeVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface EmployeeMapper {

    /**
     * 根据登录账号查询用户信息
     * @param loginName
     * @return
     */
    public Employee findEmployeeByLoginName(String loginName);

    /**
     * 根据部门编号查询员工数量
     * @param deptId
     * @return
     */
    public int findEmployeeCountByDeptId(int deptId);

    /**
     * 根据角色编号查询员工数量
     * @param roleId
     * @return
     */
    public int findEmployeeCountByRoleId(int roleId);

    /**
     * 查询所有员工
     * @param employeeVo
     * @return
     */
    public List<Employee> findAllEmployee(EmployeeVo employeeVo);

    /**
     * 插入一个员工
     * @param employee
     * @return
     */
    public int insertEmployee(Employee employee);

    /**
     * 修改员工
     * @param employee
     * @return
     */
    public int updateEmployee(Employee employee);

    /**
     * 根据id删除员工
     * @param employeeId
     * @return
     */
    public int deleteEmployee(int employeeId);

    /**
     * 重置员工密码
     * @param employee
     * @return
     */
    public int resetPwd(Employee employee);

    /**
     * 删除员工下的角色
     * @param employeeId
     * @return
     */
    public int deleteEmployeeOfRole(int employeeId);

    /**
     * 查询员工的角色
     * @param employeeId
     * @return
     */
    public List<Integer> findEmpOfRoleIdByEmpId(int employeeId);

    /**
     * 插入一条员工和角色的关系数据
     * @param roleId
     * @param employeeId
     * @return
     */
    public int insertEmpOfRole(@Param("roleId") String roleId, @Param("employeeId") int employeeId);
}
